Bidirectional Scheduling to Minimize Register Requirements

نویسندگان

  • Josep Llosa
  • Mateo Valero
چکیده

Software Pipelining is a loop scheduling technique that extracts parallelism from loops by overlapping the execution of several consecutive iterations. Prior scheduling research has focused on achieving minimal execution time, without regarding register requirements Unidirectional strategies (top-down or bottom-up) tend to stretch operand lifetimes because they schedule some operations too early/late. The paper presents a novel bidirec-tional strategy that simultaneously schedules some operations late and other operations early, minimizing all the stretchable dependencies and therefore reducing the registers required by the loop. The key of this strategy is a pre-ordering phase that selects the order in which the operations will be scheduled. The pre-ordering heuristic guarantees that, when an operation is selected to be scheduled into the current partial scheduling, there are only predecessors or successors of the operation that have been already scheduled. An operation will be scheduled early in the schedule if it contains predecessors of the operation and late if it contains successors of the operation. We compare our method against other three leading scheduling methods. Both of them are heuristic methods and one is an exact integer linear programming formulation of the scheduling problem. Experimental results show that the method described in this paper performs as well as the linear programming method, but with an scheduling time comparable to the heuristic methods. When compared with the other heuristic methods, our method performs signiicantly better.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Integrated Register Allocation and Software Pipelining

Software pipelining is a powerful and efficient scheduling technique for exploiting instruction level parallelism in loops, it results in high performance but it increases the register requirements. Two methods are available to reduce the register requirements: increase the schedule length or insert spill code. Traditionally instruction scheduling and register allocation are applied in separate...

متن کامل

An Integrated Approach to Register Binding and Scheduling

| Code generation methods for DSP applications are hampered by the combination of tight timing constraints imposed by the performance requirements of DSP algorithms, and resource constraints imposed by a hardware architecture. In this paper, we present a method for register binding and instruction scheduling based on the exploitation and analysis of resource-and timing constraints. The analysis...

متن کامل

Guaranteeing Forward Progress of Unified Register Allocation and Instruction Scheduling

Increasingly demanding computation requirements and tighter energy constraints have motivated distributed and/or hierarchical register file (dhrf) organizations as a mean to efficiently sustain a sufficient alu utilization in processors targeting embedded applications with many alus. Compared to conventional centralized register file organizations, dhrfs lead to tighter coupling between registe...

متن کامل

Modulo Scheduling with Reduced Register Pressure

Software pipelining is a scheduling technique that is used by some product compilers in order to expose more instruction level parallelism out of innermost loops. Modulo scheduling refers to a class of algorithms for software pipelining. Most previous research on modulo scheduling has focused on reducing the number of cycles between the initiation of consecutive iterations (which is termed II) ...

متن کامل

Register Reuse Scheduling

The amount of spill code generated by a compiler backend has crucial effects on program performance. Instruction scheduling before register allocation may cause live range overlaps that lead to suboptimal spill code. Even when a local scheduler tries to minimize register usage, its results can leave room for improvement regarding overall spill costs. We present Register Reuse Scheduling (RRS), ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1995